/*
 * @Author: qiuz
 * @Date: 2018-05-04 14:14:55
 * */

const downloadBlob = (blob, filename) => {
  if (window.navigator.msSaveOrOpenBlob) {
    navigator.msSaveBlob(blob, filename);
  } else {
    const link = document.createElement('a');
    const body = document.querySelector('body');

    link.href = window.URL.createObjectURL(blob);
    link.download = filename;

    // fix Firefox
    link.style.display = 'none';
    body.appendChild(link);

    link.click();
    body.removeChild(link);

    window.URL.revokeObjectURL(link.href);
  }
};

const downloadUrl = (url, filename) => {
  const link = document.createElement('a');
  const body = document.querySelector('body');

  link.href = url;
  link.target = '_blank';
  link.download = filename;

  // fix Firefox
  link.style.display = 'none';
  body.appendChild(link);
  link.onclick = e => {
    e.stopPropagation();
  };
  link.click();
  body.removeChild(link);
};

export { downloadBlob, downloadUrl };
